<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use App\Post;
use App\Comment;

class SearchController extends Controller
{
    // search/keyword?keyword=xxx   正确的地址, 此时$redundancy为传入值
    // search/keyword/xxx?keyword=xxx   错误的地址, 此时$redundancy被赋值xxx[search/keyword/之后的第一个参数]
    // 所以可通过判断$redundancy是否被赋值来判断用户是否恶意输入地址, 当然，此处并没有什么安全问题, 只是突然想到的一个小技巧
    public function getKeyword(Request $request, $redundancy = null) {
        if ($redundancy !== null) abort(404);

        $keyword = $request->input('keyword');
        // appends() 方法是为了在分页链接后加上需要的参数
        // 也可以使用在blade模板文件中, 但是必须使用在render() 方法前
        // 如 {!! $articles->appends(['keyword' => Request::input('keyword')])->render() !!}
        $articles = Post::like($keyword)->isApproved()->simplePaginate(2)->appends(['keyword' => $keyword]);
        $random = Post::random(6)->isApproved()->get();
        $comments = Comment::recent(6)->get();

        return view('search', compact('articles', 'random', 'comments'));
    }

    public function getTag($id) {

    }
}
